package com.enlorenz.core.channel.common.dstobj;

import java.util.List;
import java.util.Map;

/**
 * 目标对象管理器
 * @author lcb
 */
public interface IDstObjectManager {
	
	/**
	 * 大小
	 * @return
	 */
	int size();
	/**
	 * 获取所有的目标对象列表
	 * @return
	 */
	List<IDstRoute> getAllDstObjectList();
	/**
	 * 根据条件查询目标列表
	 * @param condition
	 * @return
	 */
	List<IDstRoute> selectDstObjectListByCondition(Map condition);
	
	/**
	 * 存放目标对象
	 * @param dstObject
	 */
	void addDstObject(IDstRoute dstObject);
	
	/**
	 * 移除目标对象
	 * @param dstObject
	 * @return
	 */
	IDstRoute removeDstObject(IDstRoute dstObject);
	
	/**
	 * 移除所有的目标对象
	 * @return
	 */
	List<IDstRoute> removeAllDstObject();
}
